/*
 * XML Type:  Balance
 * Namespace: http://ofx.net/types/2003/04
 * Java type: net.ofx.types.x2003.x04.Balance
 *
 * Automatically generated - do not modify.
 */
package net.ofx.types.x2003.x04;


/**
 * An XML Balance(@http://ofx.net/types/2003/04).
 *
 * This is a complex type.
 */
public interface Balance extends org.apache.xmlbeans.XmlObject
{
    public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)schema.system.s3A74FF4CC3627C5B0D40068015746F8A.TypeSystemHolder.typeSystem.resolveHandle("balance5478type");
    
    /**
     * Gets the "NAME" element
     */
    java.lang.String getNAME();
    
    /**
     * Gets (as xml) the "NAME" element
     */
    net.ofx.types.x2003.x04.GenericNameType xgetNAME();
    
    /**
     * Sets the "NAME" element
     */
    void setNAME(java.lang.String name);
    
    /**
     * Sets (as xml) the "NAME" element
     */
    void xsetNAME(net.ofx.types.x2003.x04.GenericNameType name);
    
    /**
     * Gets the "DESC" element
     */
    java.lang.String getDESC();
    
    /**
     * Gets (as xml) the "DESC" element
     */
    net.ofx.types.x2003.x04.ShortMessageType xgetDESC();
    
    /**
     * Sets the "DESC" element
     */
    void setDESC(java.lang.String desc);
    
    /**
     * Sets (as xml) the "DESC" element
     */
    void xsetDESC(net.ofx.types.x2003.x04.ShortMessageType desc);
    
    /**
     * Gets the "BALTYPE" element
     */
    net.ofx.types.x2003.x04.BalanceEnum.Enum getBALTYPE();
    
    /**
     * Gets (as xml) the "BALTYPE" element
     */
    net.ofx.types.x2003.x04.BalanceEnum xgetBALTYPE();
    
    /**
     * Sets the "BALTYPE" element
     */
    void setBALTYPE(net.ofx.types.x2003.x04.BalanceEnum.Enum baltype);
    
    /**
     * Sets (as xml) the "BALTYPE" element
     */
    void xsetBALTYPE(net.ofx.types.x2003.x04.BalanceEnum baltype);
    
    /**
     * Gets the "VALUE" element
     */
    java.lang.String getVALUE();
    
    /**
     * Gets (as xml) the "VALUE" element
     */
    net.ofx.types.x2003.x04.AmountType xgetVALUE();
    
    /**
     * Sets the "VALUE" element
     */
    void setVALUE(java.lang.String value);
    
    /**
     * Sets (as xml) the "VALUE" element
     */
    void xsetVALUE(net.ofx.types.x2003.x04.AmountType value);
    
    /**
     * Gets the "DTASOF" element
     */
    java.lang.String getDTASOF();
    
    /**
     * Gets (as xml) the "DTASOF" element
     */
    net.ofx.types.x2003.x04.DateTimeType xgetDTASOF();
    
    /**
     * True if has "DTASOF" element
     */
    boolean isSetDTASOF();
    
    /**
     * Sets the "DTASOF" element
     */
    void setDTASOF(java.lang.String dtasof);
    
    /**
     * Sets (as xml) the "DTASOF" element
     */
    void xsetDTASOF(net.ofx.types.x2003.x04.DateTimeType dtasof);
    
    /**
     * Unsets the "DTASOF" element
     */
    void unsetDTASOF();
    
    /**
     * Gets the "CURRENCY" element
     */
    net.ofx.types.x2003.x04.Currency getCURRENCY();
    
    /**
     * True if has "CURRENCY" element
     */
    boolean isSetCURRENCY();
    
    /**
     * Sets the "CURRENCY" element
     */
    void setCURRENCY(net.ofx.types.x2003.x04.Currency currency);
    
    /**
     * Appends and returns a new empty "CURRENCY" element
     */
    net.ofx.types.x2003.x04.Currency addNewCURRENCY();
    
    /**
     * Unsets the "CURRENCY" element
     */
    void unsetCURRENCY();
    
    /**
     * A factory class with static methods for creating instances
     * of this type.
     */
    
    public static final class Factory
    {
        public static net.ofx.types.x2003.x04.Balance newInstance() {
          return (net.ofx.types.x2003.x04.Balance) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
        
        public static net.ofx.types.x2003.x04.Balance newInstance(org.apache.xmlbeans.XmlOptions options) {
          return (net.ofx.types.x2003.x04.Balance) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }
        
        public static net.ofx.types.x2003.x04.Balance parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
          return (net.ofx.types.x2003.x04.Balance) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( s, type, null ); }
        
        public static net.ofx.types.x2003.x04.Balance parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (net.ofx.types.x2003.x04.Balance) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( s, type, options ); }
        
        public static net.ofx.types.x2003.x04.Balance parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.Balance) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( f, type, null ); }
        
        public static net.ofx.types.x2003.x04.Balance parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.Balance) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( f, type, options ); }
        
        public static net.ofx.types.x2003.x04.Balance parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.Balance) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); }
        
        public static net.ofx.types.x2003.x04.Balance parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.Balance) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); }
        
        public static net.ofx.types.x2003.x04.Balance parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.Balance) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); }
        
        public static net.ofx.types.x2003.x04.Balance parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.Balance) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); }
        
        public static net.ofx.types.x2003.x04.Balance parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.Balance) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); }
        
        public static net.ofx.types.x2003.x04.Balance parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.Balance) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); }
        
        public static net.ofx.types.x2003.x04.Balance parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
          return (net.ofx.types.x2003.x04.Balance) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); }
        
        public static net.ofx.types.x2003.x04.Balance parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (net.ofx.types.x2003.x04.Balance) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); }
        
        public static net.ofx.types.x2003.x04.Balance parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (net.ofx.types.x2003.x04.Balance) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
        
        public static net.ofx.types.x2003.x04.Balance parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (net.ofx.types.x2003.x04.Balance) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
        
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
        
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
        
        private Factory() { } // No instance of this class allowed
    }
}
